Charts are often included in documents to ease understanding of large quantities of data and the relationships between parts of the data. A user may use one of various types of applications to create or edit a chart. When working with a chart in one application, there is an expectation that the same chart will function equivalently when used in a second application, particularly for applications included in the same software suite. Further, users are increasingly using web applications for performing tasks, such as for generating or editing documents including charts, and have an increasing expectation for a seamless user experience among desktop and web applications. For example, users expect to see a transitional animation between two states responsive to a change made to a chart in a browser similarly to how animations are provided in a native application, which help users to understand transitions.
Prior solution attempts have utilized view transformation, such as stretching or crossfades. As can be appreciated, stretching causes unacceptable distortion of text or figures (e.g., circles, arrows), and crossfades do not help the user to understand the effects of the transition (e.g., movement of a data point). Other prior solution attempts have utilized hard coding for specific transitions, wherein each scenario uses one-off transition logic that is specific to each transition. As can be appreciated, the cost of providing animation coding for each conceivable transition would be extensive and impractical, and would consume additional memory resources.